package com.naiterui.ehp.bs.doctor.vo.followup;

import java.util.Date;
import java.util.List;

import com.fasterxml.jackson.annotation.JsonFormat;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;

import javax.persistence.Column;

/**
 * 随访任务
 * 
 * @author yangfuya
 * @since 2022/1/5
 */
@Data
@Builder
@AllArgsConstructor
@NoArgsConstructor
@ApiModel(description = "随访问卷")
public class DrFollowUpRecordVO {

    @ApiModelProperty(value = "ID")
    private Long id;

    /**
     * 随访名称
     */
    @ApiModelProperty(value = "随访名称")
    private String name;

    /**
     * 医生id
     */
    @ApiModelProperty(value = "医生id")
    private Long doctorId;

    @ApiModelProperty(value = "医生名称")
    private String doctorName;

    /**
     * 患者id
     */
    @ApiModelProperty(value = "患者id")
    private Long patientId;

    /**
     * 就诊人id
     */
    @ApiModelProperty(value = "就诊人id")
    private Long inquirerId;

    /**
     * 就诊人名称（快照信息）
     */
    @ApiModelProperty(value = "就诊人名称（快照信息")
    private String inquirerName;

    /**
     * 就诊人性别（快照信息）
     */
    @ApiModelProperty(value = "就诊人性别（快照信息）")
    private String inquirerGender;

    /**
     * 就诊人年龄（快照信息）
     */
    @ApiModelProperty(value = "就诊人年龄（快照信息）")
    private String inquirerAge;

    /**
     * 开始时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @ApiModelProperty(value = "开始时间")
    private Date beginTime;


    /**
     * 复诊计划状态 1：待复诊  2：已报道 3：已取消 4：已过期，随访问卷状态 1：待执行 2：已执行 3：已取消
     */
    @ApiModelProperty(value = "复诊计划状态 1：待复诊  2：已报道 3：已取消 4：已过期，随访问卷状态 1：待执行 2：已执行 3：已取消")
    private Integer status;

    /**
     * 计划类型：1=复诊，2=问卷
     */
    @ApiModelProperty(value = "计划类型 1=复诊，2=问卷")
    private Integer type;

    /**
     * 执行医嘱
     */
    @ApiModelProperty(value = "执行医嘱")
    private String medicalAdvice;
    /**
     * 原因
     */
    @ApiModelProperty(value = "原因")
    private String reason;
    /**
     * 复诊记录
     */
    @ApiModelProperty(value = "复诊记录")
    private String visitRecord;
    /**
     * 随访计划编号
     */
    @ApiModelProperty(value = "随访计划编号")
    private String followNo;

    /**
     * 创建时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @ApiModelProperty(value = "创建时间")
    private Date createdAt;

    @ApiModelProperty(value = "随访计划表单集合")
    private List<DrFollowUpRecordFormVO> followUpFormList;

    @ApiModelProperty(value = "随访复诊是线上还是线下 1线上  2线下")
    private Integer visitRecordType;

    @ApiModelProperty(value = "随访复诊类型 1图文 2视频")
    private Integer consultType;

    @ApiModelProperty(value = "随访复诊视频问诊id")
    private Long videoConsultId;

    @ApiModelProperty(value = "随访复诊视频问诊房间号")
    private String roomId;

    @ApiModelProperty(value = "随访复诊是否可以去问诊，问卷是否可以填写")
    private Boolean canConsult;
}
